﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using Biblioteca.Utils;
using SERIX.Classes;
using SERIX.Util;

namespace SERIX
{
    public partial class TiposTerritoriosManut : Seguranca
    {
        string _operacao;
        string _idt_tpo_terri;

        protected void Page_Load(object sender, EventArgs e)
        {
            base.OnLoad(e);
            _operacao = Request["OP"];
            if (!String.IsNullOrEmpty(Request["idt_tpo_terri"]))
            {
                _idt_tpo_terri = Server.UrlDecode(Criptografia.Descriptografar(Request["idt_tpo_terri"]));
            }

            if (!Page.IsPostBack)
            {
                switch (_operacao)
                {
                    case "R": 
                        {
                            lblTitulo.Text = "Detalhes do Tipo de Território";
                            CTiposTerritorios obj = new CTiposTerritorios(_idt_tpo_terri,UsuAut.Login);
                            tbDSC_TIQ.Text = obj.Dsc_tpo_territorios;
                            DesabilitaControles();                            
                            break;
                        }
                    case "U": 
                        {
                            lblTitulo.Text = "Atualizar Tipo de Território";
                            CTiposTerritorios obj = new CTiposTerritorios(_idt_tpo_terri, UsuAut.Login);
                            tbDSC_TIQ.Text = obj.Dsc_tpo_territorios;
                            break;
                        }
                    case "I": 
                        {
                            lblTitulo.Text = "Inserir Tipo de Território";
                            break;                        
                        }
                    case "D": 
                        {
                            lblTitulo.Text = "Excluir Tipo de Território";
                            CTiposTerritorios obj = new CTiposTerritorios(_idt_tpo_terri, UsuAut.Login);
                            tbDSC_TIQ.Text = obj.Dsc_tpo_territorios;
                            DesabilitaControles();    
                            break;
                        }
                    default: break;
                }
            }
        }


        public void DesabilitaControles()
        {
            BiblioSERIX.DesabilitaControle(tbDSC_TIQ);        
        }


        protected void Ok_Button_Click(object sender, EventArgs e)
        {
            try
            {

                CTiposTerritorios TiposTerritorios;
                if (String.IsNullOrEmpty(_idt_tpo_terri) && _operacao[0].Equals('I'))
                {
                    _idt_tpo_terri = CTiposTerritorios.ObterIdt().ToString();
                }
                TiposTerritorios = new CTiposTerritorios(_idt_tpo_terri, tbDSC_TIQ.Text);
                switch (_operacao)
                {
                    case "I":
                        {
                            TiposTerritorios.Inserir(UsuAut.Login);
                            break;
                        }
                    case "U":
                        {
                            TiposTerritorios.Alterar(UsuAut.Login);
                            break;
                        }
                    case "D":
                        {
                            TiposTerritorios.Excluir(UsuAut.Login);
                            break;
                        }
                    default: break;
                }
                Response.Redirect("TiposTerritorios.aspx");
            }
            catch (Exception ex)
            {
                lblErro.Text = "*Erro: " + ex.Message;
                lblErro.Visible = true;
            }
        }
    }
}
